package com.wuhao.shootclient.util;

import android.content.Context;
import android.graphics.Bitmap;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;

public class GlideUtils {

    static GlideUtils instance;

    public GlideUtils() {
    }

    public static GlideUtils getInstance() {
        if (null == instance) {
            synchronized (GlideUtils.class) {
                if (null == instance) {
                    instance = new GlideUtils();
                }
            }
        }
        return instance;
    }

    /**
     * 普通加载
     * @param context
     * @param url
     * @param imageView
     */
    public  void loadImage(Context context, String url, ImageView imageView) {
//        RequestOptions options = new RequestOptions()
//                .centerCrop()
//                .placeholder(R.mipmap.ic_launcher)
//                .error(R.mipmap.ic_launcher);
//        Glide.with(context).load(url).dontAnimate().placeholder(imageView.getDrawable()).skipMemoryCache(true).into(imageView);
        //获取图片显示在ImageView后的宽高
//        Glide.with(context)
//                .load(url)
//                .asBitmap()//强制Glide返回一个Bitmap对象
//                .listener(new RequestListener<String, Bitmap>() {
//                    @Override
//                    public boolean onException(Exception e, String model, Target<Bitmap> target, boolean isFirstResource) {
////                        LogUtil.error( "onException " + e.toString());
//                        return false;
//                    }
//
//                    @Override
//                    public boolean onResourceReady(Bitmap bitmap, String model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
////                        int width = bitmap.getWidth();
////                        int height = bitmap.getHeight();
////                        LogUtil.error(  "width2 " + width); //400px
////                        LogUtil.error(  "height2 " + height); //400px
//                        return false;
//                    }
//                }).into(imageView);
        Glide.with(context)
                .load(url)
                .asBitmap()
                .skipMemoryCache(true)
                .dontAnimate()
                .into(new SimpleTarget<Bitmap>() {
                    @Override
                    public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                        imageView.setImageBitmap(resource);
                    }
                });
    }

//    /**
//     * 加载圆形图片
//     * @param context
//     * @param url
//     * @param imageView
//     */
//    public  void loadCircleImage(Context context, String url, ImageView imageView) {
//        RequestOptions options = new RequestOptions()
//                .circleCrop()
//                .placeholder(R.mipmap.ic_launcher)
//                .error(R.mipmap.ic_launcher);
//        Glide.with(context).load(url).apply(options).into(imageView);
//    }

//    /**
//     * 加载圆角图片
//     *
//     * @param context
//     * @param url
//     * @param imageView
//     */
//    public  void loadRoundImage(Context context, String url, ImageView imageView) {
//        RequestOptions options = RequestOptions
//                .bitmapTransform(new RoundedCorners(20))
//                .placeholder(R.mipmap.ic_launcher)
//                .error(R.mipmap.ic_launcher);
//
//        Glide.with(context).load(url).apply(options).into(imageView);
//    }

}
